The present invention relates to a decoding technique for compressed pictures as in moving picture telecommunication, and more particularly to a technique which enhances a decoding processing performance and may cope with a high precision reproduction of moving pictures in the case where compressed data through discrete cosine transform coding process are to be decoded.
In the image data telecommunication, instead of transmitting the images per se, the data may be transferred by analyzing frequency components contained in the images. The public's attention is paid to a DCT (Discrete Cosine Transform) in which the images are represented by groups of frequency components. The literature that introduces the DCT technique is "Digital Television" of Nikkei New Media (extra number) published by Nikkei BP inc. 1992. particularly, at Chapter 2 (pp 20-34) entitled "Compression Technique and Digital Compression Basic Technique for International Standardization (A)".
In the DCT system, the multiple value image is divided into blocks composed of a predetermined number (for instance 8.times.8 pixels) of blocks, the image data are orthonormalized to obtain a matrix composed of transform coefficient for each block, and each component of the matrix is quantified by using corresponding visible threshold values and converted into variable length codes to thereby complete the compression of the data amount.
In case of decoding the image data thus compressed and coded, a system as shown in a block diagram of FIG. 2 has been realized based upon CCITT Advice H. 261 (MPEG1: Moving Picture Experts Group 1).
In FIG. 2, first of all, the coded data (image data) that have been received through a telecommunication network is transformed into run/level data composed of "run" information (continuous number of "0" components) and "level" (frequency components of the image) in a variable length decoding section 101. Subsequently, in a run length decoding section 104, the run/level data are converted into block type data (run length decoded data 32) whose level values are registered at respective pixel positions of the blocks.
Subsequently, the run length decoded data 32 are multiplied by a reverse quantifying coefficient 33 in a reverse quantifying section 102.
Next, since the data have been subjected to a zigzag scan process for the run length coding on the transmission side, the data are zigzag-raster transformed and rearranged within the block (zigzag-raster transform data 35.
Thereafter, the data are multiplied by IDCT coefficients to obtain one-dimensional IDCT data 37 (one-dimensional IDCT section 103a).
Subsequently, the arrangement transform of the data is carried out in row and column directions (arrangement transform data 38), and the arrangement transformed data 38 are again multiplied by IDCT coefficients (two-dimensional IDCT section 103b). Thus, the obtained data are referred to as decoded data 39.
The arithmetic process of the data values explained above will be explained in more detail with reference to FIG. 3.
First of all, in FIG. 3, it is assumed for the sake of explanation that a size of one block be composed of 4.times.4 pixels.
The coded image data received in FIG. 3 are converted in the variable length coding section into serial data composed of zero run (the serial number of "0", expressed simply by "RUN" in FIG. 3) and level (representative of an amplitude of the frequency component of the image, shown simply by "LEVEL" in FIG. 3).
In the run length decoding section, the above-described levels are stored in the respective pixel positions and are converted into the block data type run length decoded data 32.
The multiplying of the run length decoded data 32 and the quantifying coefficients 33 is carried out by multiplying the level values at the same positions in the block by each other.
The thus obtained qualified data 34 are zigzag-raster transformed and converted into the data 35. This transform may be obtained by scanning the data obtained through scanning the reverse quantified data 34 in every row "10.fwdarw.5.fwdarw.7.fwdarw.0.fwdarw.6.fwdarw.0.fwdarw.0.fwdarw.2.fwdarw. 3.fwdarw.0.fwdarw.0.fwdarw.0.fwdarw.0.fwdarw.0.fwdarw.0.fwdarw.0" (in this order) in the zigzag-raster direction (as indicated by arrows in the data 35).
The zigzag-raster data 35 are further multiplied by the IDCT coefficients 36 to obtain the one-dimensional DCT data 37. Each value of the one-dimensional DCT data is multiplied by the row of the zigzag-raster transformed data 35 and the column of the IDCT multiplying coefficient 36. The example is given as follows:
______________________________________ first row first column: 10 .times. 1 + 5 .times. 1 + 0 .times. 5 + 0 .times. 5 = 15 first row second column: 10 .times. 2 + 5 .times. 2 + 0 .times. 6 + 0 .times. 6 = 30 second row first column: 7 .times. 1 + 6 .times. 1 + 2 .times. 5 + 0 .times. 5 = 23 ______________________________________
After the thus obtained one-dimensional DCT data 37 have been subjected to the matrix transformation to be rearranged and transformed into the data 38, the data 38 is further multiplied by the IDCT coefficients 36 to obtain the two-dimensional DCT data 39.
How To Get Values of Two-Dimensional DCT Data.
______________________________________ first row first column: 15 .times. 1 + 23 .times. 1 + 3 .times. 5 + 0 .times. 5 = 53 first row second column: 15 .times. 2 + 23 .times. 2 + 3 .times. 6 + 0 .times. 6 = 94 second row first column: 30 .times. 1 + 38 .times. 1 + 6 .times. 5 + 0 .times. 5 = 98 ______________________________________
In the above-described run length decoding process, zigzag-raster transform process and arrangement transform process, in order to arrange or rearrange the values in the block, it is necessary to repeatedly carry out the read/write processes to RAMs.
However, in the image processing corresponding to a high resolving power image signals which will require a real time process as in HDTVs (High Density Television), in order to enhance the decoding processing performance, a plurality of RAMs are used the IDCT calculations have to be carried out in parallel or simultaneously for every row or every column, resulting in complicated or enlarged structure of circuits as well as an increased cost for the system.
Furthermore, as is apparent from FIG. 3, in the conventional system, the data received in the initial stage of the various calculation are transformed into a so-called block data type in consideration of the pixel positions within the block. Accordingly, it is necessary to carry out the process for a large number of "0" components in the reverse qualifying calculation, zigzag-raster transform, one-dimensional IDCT calculation, rearrangement/transform and two-dimensional IDCT calculation. The present inventors have just found out the fact that this is one of the factors which limit or suppress the improvement in processing efficiency.
In view of the foregoing defects, an object of the present invention is to provide a technique for effectively carrying out the decoding process of the image at a high speed by reducing the calculation amount of data and suppressing the data control through the RAM access.